package com.yuelao.yuelao_backend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuelao.yuelao_backend.dto.GroupDTO;
import com.yuelao.yuelao_backend.entity.Group;

import java.util.List;

public interface GroupService extends IService<Group> {

    /**
     * 获取群聊列表
     * @return 群聊列表
     */
    List<GroupDTO> getGroupList();

    /**
     * 获取群聊详细信息
     * @param groupId 群聊ID
     * @return 群聊信息
     */
    GroupDTO getGroupInfo(Long groupId);

    /**
     * 获取群聊公告
     * @param groupId 群聊ID
     * @return 群聊公告内容
     */
    String getGroupAnnouncement(Long groupId);
    
    /**
     * 加入群组
     * @param userId 用户ID
     * @param groupId 群组ID
     * @return 是否成功
     */
    boolean joinGroup(Long userId, Long groupId);

    /**
     * 将 Group 实体转换为 GroupDTO
     * @param group Group 实体
     * @return GroupDTO
     */
    GroupDTO convertToGroupDTO(Group group);
}